import { apiWrapper } from '@/utils/request'

// ========================= 用户API (/User) =========================
export const userApi = {
  // 用户登录
  login: (data) => apiWrapper.post('/User/user/login', data),

  // 用户注册
  register: (data) => apiWrapper.post('/User/user/register', data),

  // 获取用户信息
  getUserInfo: () => apiWrapper.get('/User/user/userInfo'),

  // 更新用户个人资料
  updateProfile: (data) => apiWrapper.put('/User/user/updateProfile', data),

  // 获取用户银行卡列表
  getUserCards: () => apiWrapper.get('/User/user/cards'),

  // 分页查询用户交易记录
  pageTradeUser: (data, begin, end) => {
    const params = new URLSearchParams()
    if (begin) params.append('begin', begin)
    if (end) params.append('end', end)
    const url = `/User/pageTradeUser${params.toString() ? '?' + params.toString() : ''}`
    return apiWrapper.post(url, data)
  },

  // 上传头像 - 关键：参数名必须是'file'，与后端@RequestParam("file")匹配
  uploadImage: (file) => {
    console.log('uploadImage API调用:', {
      fileName: file.name,
      fileSize: file.size,
      fileType: file.type
    })
    
    const formData = new FormData()
    formData.append('file', file) // 参数名必须是'file'
    
    console.log('FormData内容:', {
      keys: Array.from(formData.keys()),
      hasFile: formData.has('file')
    })
    
    // 直接使用带完整路径的API调用，确保请求正确路由
    return apiWrapper.post('/User/uploadImage', formData, {
      headers: {
        // 不设置Content-Type，让浏览器自动设置
      }
    })
  },

  // 修改用户密码
  changeUserPassword: (data) => apiWrapper.put('/User/user/changedUserPwd', data),
}

// 兼容旧版本的导出
export const getUserInfo = userApi.getUserInfo
export const updateProfile = userApi.updateProfile
export const changePassword = (data) => apiWrapper.put('/User/cards/changedPwd', data) 